package com.ourteam.system.dao;

import net.dao.IDataAccessInterface;


/**
 * Template Name : DAO接口模板
 * Template Version : 1
 * Template Last Modfiy Date : Thu Sep 21 11:14:14 CST 2017
 * Auto Generate Date : 2018-07-31 15:13:18
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface IBaseSysActionDAO extends IDataAccessInterface<SysAction, SysActionDAOQueryBean> {
    /**
        *  Mapped Entity Name
        */
    static final String EntityName = "SYS_ACTION";

    /**
     * Mapped Field ID
    */
    static final String Id = "SYS_ACTION.ID";

    /**
     * Mapped Field MODULE_ID
    */
    static final String ModuleId = "SYS_ACTION.MODULE_ID";

    /**
     * Mapped Field ACTION_CODE
    */
    static final String ActionCode = "SYS_ACTION.ACTION_CODE";

    /**
     * Mapped Field ACTION_NAME
    */
    static final String ActionName = "SYS_ACTION.ACTION_NAME";

    /**
     * Mapped Field DOMAIN_ID
    */
    static final String DomainId = "SYS_ACTION.DOMAIN_ID";

    /**
     * Mapped Field REMARKS
    */
    static final String Remarks = "SYS_ACTION.REMARKS";

    /**
     * Mapped Field STATUS
    */
    static final String Status = "SYS_ACTION.STATUS";

    /**
     * Mapped Field ACTION_RESOURCE
    */
    static final String ActionResource = "SYS_ACTION.ACTION_RESOURCE";

    /**
     * Mapped Attribute domainCode
    */
    static final String DomainCode = org.apache.commons.lang.StringUtils.replace(com.ourteam.system.dao.ISysDomainDAO.DomainCode,
            com.ourteam.system.dao.ISysDomainDAO.EntityName + ".", "sysDomainA.");

    /**
     * Mapped Attribute domainName
    */
    static final String DomainName = org.apache.commons.lang.StringUtils.replace(com.ourteam.system.dao.ISysDomainDAO.DomainName,
            com.ourteam.system.dao.ISysDomainDAO.EntityName + ".", "sysDomainA.");

    /**
     * Mapped Attribute moduleCode
    */
    static final String ModuleCode = org.apache.commons.lang.StringUtils.replace(com.ourteam.system.dao.ISysModuleDAO.ModuleCode,
            com.ourteam.system.dao.ISysModuleDAO.EntityName + ".", "sysModuleA.");

    /**
     * Mapped Attribute moduleName
    */
    static final String ModuleName = org.apache.commons.lang.StringUtils.replace(com.ourteam.system.dao.ISysModuleDAO.ModuleName,
            com.ourteam.system.dao.ISysModuleDAO.EntityName + ".", "sysModuleA.");

    /**
     * Delete Data
     * @param final long id
     * @throws Exception
     */
    void delete(final long id) throws Exception;

    /**
         * Find Data By Primary Key
         * @param  final long id
         * @throws Exception
         */
    SysAction findById(final long id) throws Exception;

    /**
         * Query Related SysRoleActionRelate
         * @param aQueryBean
         * @throws Exception
         */
    com.ourteam.system.dao.SysRoleActionRelate[] querySysRoleActionRelate(
        final SysActionDAOQueryBean queryBean) throws Exception;

    /**
         * Query Related SysRoleActionRelate Selective
         * @param queryBean
         * @throws Exception
         */
    java.util.Map<String, Object>[] querySysRoleActionRelateSelective(
        final SysActionDAOQueryBean queryBean) throws Exception;

    /**
         * Update Related SysRoleActionRelate
         * @param aSysRoleActionRelate
         * @param queryBean
         * @throws Exception
         */
    void updateSysRoleActionRelate(
        final com.ourteam.system.dao.SysRoleActionRelate aSysRoleActionRelate,
        SysActionDAOQueryBean queryBean) throws Exception;

    /**
         * Delete Related SysRoleActionRelate
         * @param queryBean
         * @throws Exception
         */
    void deleteSysRoleActionRelate(final SysActionDAOQueryBean queryBean)
        throws Exception;

    static public interface DataProperty {
        /**
         * Attribute actionResource
         */
        static final String ActionResource = "actionResource";

        /**
         * Attribute id
         */
        static final String Id = "id";

        /**
         * Attribute moduleId
         */
        static final String ModuleId = "moduleId";

        /**
         * Attribute actionCode
         */
        static final String ActionCode = "actionCode";

        /**
         * Attribute actionName
         */
        static final String ActionName = "actionName";

        /**
         * Attribute domainId
         */
        static final String DomainId = "domainId";

        /**
         * Attribute remarks
         */
        static final String Remarks = "remarks";

        /**
         * Attribute status
         */
        static final String Status = "status";

        /**
         * Attribute domainCode
         */
        static final String DomainCode = "domainCode";

        /**
         * Attribute domainName
         */
        static final String DomainName = "domainName";

        /**
         * Attribute moduleCode
         */
        static final String ModuleCode = "moduleCode";

        /**
         * Attribute moduleName
         */
        static final String ModuleName = "moduleName";
    }

    static public interface _DataObjectProperty extends DataProperty {
    }
}
